package com.ruoyi.system.service.impl;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.User;
import com.ruoyi.system.mapper.RegisterMapper;
import com.ruoyi.system.service.IRegisterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import static com.ruoyi.common.core.domain.AjaxResult.error;

/**
 * @author ：rayfoo@qq.com
 * @date ：Created in 2024/8/2 上午9:21
 * @description：
 * @modified By：
 * @version:
 */
@Service
public class RegisterServiceImpl implements IRegisterService {
    @Autowired
    private RegisterMapper registerMapper;
    //注册
    @Override
    public AjaxResult register(User user) {
        if (user == null || user.getPhone() == null) {
            // 检查 user 或 phone 是否为 null
            return error("注册'" + user.getPhone() + "'失败，注册账号不能为空");
        }
        try {
            Long s = registerMapper.checkUsernameUnique(user.getPhone());
            if ( s != null) {
                // checkUsernameUnique方法返回 表示用户名已存在
                // 注册失败
                return error("注册'" + user.getPhone() + "'失败，注册账号已存在");
            } else {
                // checkUsernameUnique方法返回 表示用户名不存在
                // 进行注册成功
                registerMapper.insertUser(user);
                return AjaxResult.success();
            }
        } catch (Exception e) {
            // 处理可能的异常
            e.printStackTrace();
            return error("注册失败，发生异常");
        }
    }



    //登录
    @Override
    public AjaxResult login(User user) {
        if (user == null || user.getPhone() == null) {
            // 检查 user 或 phone 是否为 null
            return error("登录失败，账号不能为空");
        }
        try {
            Long l = registerMapper.checkUsernameUnique(user.getPhone());
            if ( l!= null) {
                // checkUsernameUnique方法返回 表示用户名已存在
                // 登录失败
                return error("登录失败，账号不存在");
            } else {
                // checkUsernameUnique方法返回 表示用户名存在
                // 进行密码比对
                Long password = registerMapper.checkUsernameUnique(user.getPassword());

                if (password.equals(user.getPassword())) {
                // 密码比对成功
                    // 登录成功
                    return AjaxResult.success();
                }else {
                    // 密码比对失败
                    // 登录失败
                    return error("登录失败，密码错误");
                }
            }
        } catch (Exception e) {
            // 处理可能的异常
            e.printStackTrace();
            return error("登录失败，发生异常");
        }


    }











    private AjaxResult toAjax(int i) {
        if (i > 0) {
            return AjaxResult.success();

        } else {
            return AjaxResult.error();
        }
    }


}
